package cc.rengu.igas.momp.common.dao;

import cc.rengu.igas.momp.common.entity.TMMcTimeInfo;

import java.util.List;

/**
 * 营销活动时间规则数据库操作接口定义
 *
 * @author Jinan Liu
 * @version 1.0.0
 * @date 2020/3/26 00:11
 */
public interface McTimeInfoMapper {

    /**
     * 营销活动时间规则列表查询数据库操作接口定义
     *
     * @param instId 法人机构号
     * @param mcNo   营销活动编号
     * @return java.util.List<cc.rengu.igas.momp.common.entity.TMMcTimeInfo>
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/3/28 18:59
     */
    List<TMMcTimeInfo> selectMcTimeInfoList(String instId, String mcNo) throws Exception;

    /**
     * 营销活动时间规则列表删除数据库操作接口定义
     *
     * @param mcTimeInfoList 营销活动时间信息表
     * @return int 返回码
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/4/1 22:03
     */
    int insertMcTimeInfoListByBank(List<TMMcTimeInfo> mcTimeInfoList) throws Exception;

    /**
     * 营销活动时间规则列表更新数据库操作接口定义
     *
     * @param mcTimeInfoList
     * @return int 返回码
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/4/1 22:03
     */
    int updateMcTimeInfoListByBank(List<TMMcTimeInfo> mcTimeInfoList) throws Exception;

    /**
     * 营销活动时间规则列表删除数据库操作接口定义
     *
     * @param instId 法人机构号
     * @param mcNo   营销活动编号
     * @return int 返回码
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/4/1 22:03
     */
    int deleteMcTimeInfoListByBank(String instId, String mcNo) throws Exception;

    /**
     * 新增单条营销活动时间规则数据库操作接口定义
     *
     * @param instId     法人机构号
     * @param mcTimeInfo
     * @return int
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/4/2 00:04
     */
    int insertMcTimeInfo(String instId, TMMcTimeInfo mcTimeInfo) throws Exception;

    /**
     * 更新单条营销活动时间规则数据库操作接口定义
     *
     * @param instId     法人机构号
     * @param mcTimeInfo
     * @return int
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/4/2 00:04
     */
    int updateMcTimeInfo(String instId, TMMcTimeInfo mcTimeInfo) throws Exception;

    /**
     * 使用主键删除单条营销活动时间规则数据库操作接口定义
     *
     * @param instId    法人机构号
     * @param mcNo      营销活动编号
     * @param ruleIndex
     * @return int
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/4/2 00:04
     */
    int deleteMcTimeInfoByPrimaryKey(String instId, String mcNo, String ruleIndex) throws Exception;

    /**
     * 使用主键查询单条营销活动时间规则数据库操作接口定义
     *
     * @param instId    法人机构号
     * @param mcNo      营销活动编号
     * @param ruleIndex
     * @return int
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/4/2 00:04
     */
    int selectMcTimeInfoByPrimaryKey(String instId, String mcNo, String ruleIndex) throws Exception;

}
